Semantics-Directed Compiler Generation

نویسنده

  • Michael J A Smith
چکیده

This dissertation concerns the design and implementation of SemCom, an interpreter generator for arbitrary languages, which compiles a two-level operational semantics (in either bigor small-step style). Input to SemCom is expressed in a purpose-designed Semantic Description Language (SDL). An SDL file contains the definition of an evaluation and typing relation, and can express type systems up to polymorphism. The SemCom compiler performs a sequence of analyses on this input, and generates a lexer, parser, and interpreter (in both OCaml and F#) for the user’s language. SDL itself is typed, and a number of consistency checks are performed, producing comprehensive debugging output and useful error messages. Non-deterministic semantics are supported.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

From standard to implementation denotational semantics

e are developing a compiler compiler. It takes as input the formal definition of a programming lanquage in Denotational Semantics and produces as output a fairly efficient compiler written in a systems programming language which in turn will produce code for a real machine. This wor:c ~ainly deals with the code qeneration parts.

متن کامل

Attribute Grammars

Attribute grammars are a framework for defining semantics of programming languages in a syntax-directed fashion. In this paper, we define attribute grammars, and then illustrate their use for language definition, compiler generation, definite clause grammars, design and specification of algorithms, etc. Our goal is to emphasize its role as a tool for design, formal specification and implementat...

متن کامل

Topics in Semantics-based Program Manipulation

Programming is at least as much about manipulating existing code as it is about writing new code. Existing code is modified, for example to make inefficient code run faster, or to accommodate for new features when reusing code; existing code is analyzed, for example to verify certain program properties, or to use the analysis information for code modifications. Semantics-based program manipulat...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005